Global Navigation Satellite Systems (GNSS) allow navigation services including automatic route calculation from a current location to a destination location and guiding a driver of a vehicle to that destination with real time instructions in conjunction with a visual display of route segments as the vehicle progresses along the route.
The satellites transmit signals comprising very precise location parameters and timing signals that are received by mobile device processors allowing a processor to determine their respective three dimensional positions and velocities.
Navigation systems conventionally provide a recommended route from a starting point to a desired destination. Typically, the starting point and desired destination are selected from a large database of roads stored in a mass media storage, such as a CD ROM or SD card, which includes the roads in the area to be traveled by the user. The navigation system can be, for example, located in a personal computer or installed in a vehicle or carried by a pedestrian. If the navigation system is installed in a vehicle, the starting point is typically the current position of the vehicle, which can be input to the navigation system by an associated position determining system that may include a GPS receiver.
The navigation system determines a route from the starting point to the destination. Usually there are many potential routes between the selected starting point and the desired destination. Typical navigation systems select a recommended route based upon certain “cost” values associated with each segment of road in the road database. These cost values include the length of the road segment and the estimated time of travel through the road segment. The navigation system selects the potential route with the lowest total cost to be the recommended route. Depending upon the conventional algorithm of the navigation system, the navigation system may, for example, recommend the route with the shortest total length, the lowest total time, or some weighted average of length and time.
The recommended route then may be displayed to the user as a map showing the starting point and desired destination and highlighting the recommended route. If the navigation system is installed in a vehicle, the navigation system may display the current position of the vehicle and provide turn-by-turn instructions to the driver, guiding the driver to the selected destination.
Navigation systems typically include a graphical user interface that allows a user to input the desired destination. The user often needs to input a city name for the desired destination, for example, as part of the destination address. As another example, the desired destination is a Point of Interest in or near a city. Since a full keyboard is impractical in a vehicle, a conventional graphical user interface includes a touch screen or a directional input device such as a four-way button. The user is presented with the letters of the alphabet arranged in a single large rectangular array, which is usually called soft keyboard. One typical system requires the user to scroll through the alphabet one letter at a time using the directional input device, selecting a desired letter when it becomes highlighted. These systems have the disadvantage of inputting a given letter. With such systems, inputting the city name can also be very time consuming and frustrating for a user.
Many conventional mobile navigation applications allow users to find a city by entering a partial or full city name. Such applications will search for matches in a global city name list sorted alphabetically. All city name matches contain the characters entered by the user as their leading substring. A Next-Letter-Tree (NLT) may be used to support city name entry on the soft keyboard. Because many city names have similar spellings, it usually takes many keystrokes to narrow down the matching cities. The applications may further ask users to pick a city among multiple matches if a partial name is input. Because it is inconvenient for a user to provide inputs to small mobile devices, users want to minimize the number of keystrokes to perform tasks such as locating a desired city.